package com.neu.yth.nepBackend.entity;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import java.io.Serializable;
import java.util.Date;

import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.*;

/**
 * <p>
 * 成员信息表（管理员、公众监督员、网格员）
 * </p>
 *
 * @author YTH
 * @since 2024-05-31
 */
@Data
@AllArgsConstructor
@NoArgsConstructor
@ToString
@TableName("member")
@ApiModel(value = "Member对象", description = "成员信息表（管理员、公众监督员、网格员）")
public class Member implements Serializable {

    private static final long serialVersionUID = 1L;

    @ApiModelProperty("用户id")
    @TableId(value = "mem_id", type = IdType.AUTO)
    private Integer memId;

    @ApiModelProperty("用户电话号码11位，不能重复")
    @TableField("mem_number")
    private String memNumber;

    @ApiModelProperty("用户名称")
    @TableField("mem_name")
    private String memName;

    @ApiModelProperty("登录密码")
    @TableField("mem_pwd")
    private String memPwd;

    @ApiModelProperty("用户性别（男、女）")
    @TableField("mem_sex")
    private String memSex;

    @ApiModelProperty("用户出生日期（年月日）")
    @TableField("mem_birthday")
    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
    private Date memBirthday;

    @ApiModelProperty("网格员工作省市区域")
    @TableField("work_province")
    private String workProvince;


    @ApiModelProperty("用户家庭详细住址")
    @TableField("address")
    private String address;

    @ApiModelProperty("用户角色")
    @TableField("role_id")
    private Integer roleId;

    @ApiModelProperty("成员状态:")
    @TableField("mem_state")
    private Integer memState;

    @ApiModelProperty("验证码")
    @TableField("verify_Code")
    private String verifyCode;

    @ApiModelProperty("备注")
    @TableField("remarks")
    private String remarks;

    @ApiModelProperty("验证码产生时间")
    @TableField("code_time")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date codeTime;

    @TableField(exist = false)
    private String token;

}
